package main

import (
	_ "github.com/go-sql-driver/mysql" // 导入 MySQL 驱动
	"github.com/jinzhu/gorm"
)

func main() {
	// 连接数据库
	// 用户名：密码@tcp(ip:port)/数据库?charset=utf8&parseTime=True&loc=Local
	db, err := gorm.Open("mysql", "root:123456@tcp(localhost:3306)/gorm_project?charset=utf8&parseTime=True&loc=Local")
	if err != nil {
		panic(err)
	}

	defer db.Close() // 关闭空闲的连接

	// 创建表
	//db.CreateTable(&User{})
	// 指定表名
	//db.Table("user").CreateTable(&User{})

	// 删除表
	//db.DropTable("users")
	//db.DropTable(&User{})

	// 检查表是否存在     判断表存不存在
	//is_has := db.HasTable("user")
	//fmt.Println(is_has)

	//b := db.HasTable(&User{})
	//fmt.Println(b)

	//  自动迁移
	// 自动迁移仅仅会创建表，添加缺少的列和索引，并不会改变现有的类型或删除未使用的列以保护数据
	//db.AutoMigrate(&models.User{})
	// db.AutoMigrate(&User{}, &Product{},&Order{})
	// 创建表时添加后缀               主要是设置引擎的 innodb
	// db.Set("gorm:table_options","ENGINE=InnoDB").AutoMigrate(&User{})

	//增加
	//db.Create(&models.User{Name: "Jackson", Age: 235, Addr: "北京", Pic: "/static/upload/pic111.jpg", Phone: 1586421032})
	//db.Create(&models.User{Name: "Alex", Age: 435, Addr: "上海", Pic: "/static/upload/c51vbag.jpg", Phone: 14693705581})
}
